package utils.utils;

/**
 * Created by Administrator on 2018/5/16.
 */
public class DemoTest {

    public static void main(String[] args) {
        int[] a={49,38,97,65,76,13,27,49,78,34,12,64,1};
        System.out.print("未0次排序：");
        for (int  k= 0; k < a.length; k++) {
            System.out.print(a[k]+" ");
        }
        System.out.println("");
        anChaRu(a);
    }

    public static void anChaRu(int[] arr) {

        if (arr == null || arr.length == 0)
            return;

        for (int i = 1; i < arr.length; i++) {// 假设第一个数的位置是正确的，要想往后移，就必须要假设第一个数的位置是正确的。

            int j = i;
            int target = arr[i];// 等待插入数字

            // 后移数字
            while (j > 0 && target < arr[j - 1]) {
                arr[j] = arr[j - 1];
                j--;
            }

            // 插入数字
            arr[j] = target;

            System.out.print("第"+i+"次排序：");
            for (int  k= 0; k < arr.length; k++) {
                System.out.print(arr[k]+" ");
            }
            System.out.println("");
        }
    }
}
